【機能拡張】Amazon EC2で最大25Gbpsのネットワーク帯域幅が使えるようになりました
はじめに
今回の機能拡張のご紹介はこちら。
Amazon EC2で最大25Gbpsのネットワーク帯域幅が使えるようになりました。対象インスタンスタイプはM4、X1、P2、R4、I3、F1、G3で、具体的には以下のものとなります。他のインスタンスタイプが使えるネットワーク帯域幅に変動はありません。
x1.32xlarge20 Gbps25 Gbpsr4.16xlarge20 Gbps25 Gbpsp2.16xlarge20 Gbps25 Gbpsg3.16xlarge20 Gbps25 Gbpsf1.16xlarge20 Gbps25 Gbpsi3.16large20 Gbps25 Gbps
インスタンスタイプ | 拡張前 | 拡張後 |
---|---|---|
m4.16xlarge | 20 Gbps | 25 Gbps |
また、今回拡張されたネットワーク帯域幅を使うためには、対応したElastic Network Adapter(ENA)ドライバーが必要になります。以下のOSについてはENAドライバーがバンドルされた状態でAMIが提供されています。
- Amazon Linux
- Ubuntu 14.04 and 16.04
- RHEL 7.4
- SLES 12
- Windows Server 2008R2, 2012, 2012R2 and 2016
やってみた
EC2の起動画面を確認すると、以下のように[Network Performance]欄が25 Gigabitという表記になっていることがわかります。以下の画面はバージニアリージョンで試したものです。f1.16xlargeはまだ東京リージョンに来ていないため、東京リージョンでは表示されません。
m4.16xlargeを起動し、ENAドライバのバージョンを確認したところ...ちょっと古いです。記事執筆時点では1.2.0が最新です。
$ modinfo ena filename: /lib/modules/4.9.38-16.35.amzn1.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.1.3 license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: DBE308BBEA7B7E30986348F alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: intree: Y vermagic: 4.9.38-16.35.amzn1.x86_64 SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int)
そこで最新のENAドライバをGithub上から入手します。まずコンパイルするために必要な環境を整備します。
$ sudo yum update $ sudo yum install gcc $ sudo yum install kernel-devel-$(uname -r)
そして最新のENAドライバーのGitリポジトリを入手します。
$ sudo yum install git $ git clone https://github.com/amzn/amzn-drivers
Linux driverのディレクトリでmakeします。
$ cd amzn-drivers/kernel/linux/ena $ make
ENAドライバーが出来上がります。
$ ls -alF ena.ko -rw-rw-r-- 1 ec2-user ec2-user 2313191 9月 7 05:54 ena.ko
そして再起動。再起動後にログインして確認します。
$ modinfo ena filename: /lib/modules/4.9.43-17.38.amzn1.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.2.0u license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: BFB7CE706A2EF88C9281647 alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: intree: Y vermagic: 4.9.43-17.38.amzn1.x86_64 SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int)
最新バージョンである1.2.0のENAドライバーがインストールされました!
さいごに
この機能拡張により、EC2間で大量データの高速な同期が必要なような、高スループットを期待されるようなシステムをAWS上で構築することが可能になりますね。